<?php

/**
 * @file Contem funcoes para adicao, exibicao e remocao de alunos
 * supervisionados por um coordenador.
 */

/**
 *
 */
function frequencia_alunos_title() {
	return 'Alunos sob Coordenação';
}

/**
 * Exibe os dados e opcoes dos alunos que estao sob supervisao do coordenador
 */
function frequencia_alunos_view() {
	global $user;
	$coordenador_id = $user->uid;
	$alunos = DAO::daoFactory("frequencia")->getBolsistas($coordenador_id);
	
	if (empty($alunos) ) {
		$content[] = array(
				'#type'   => 'item',
				'#markup' => t('Os alunos sob sua coordenação aparecerão aqui conforme forem sendo cadastrados.<br />'),
		);
		
	} else {	
		foreach ($alunos as $aluno) {
			$rows[] = array (
					'data' => array (
							'Aluno' 			=> t($aluno->nome),
							'CPF' 				=> t($aluno->cpf),
							'Laboratorio'	=> t($aluno->laboratorio),
							'Turno' 			=> t($aluno->turno),
							'Ponto'	    	=> l('Ponto', 'frequencia/ponto/'.$aluno->id),
							'Remover'    	=> l('Desvincular', 'frequencia/alunos/rm/'.$aluno->id)
					)
			);
		}
	
		if ($rows != null){
			$content['entity_table'] = array(
					'#theme' 	=> 'table',
					'#rows' 	=> $rows,
					'#header'	=> array(t('Aluno'), t('CPF'), t('Laboratório'), t('Turno'), t('Ponto') , t('Desvincular'))
			);
		}
	}
	
	return $content;
}

/**
 *
 */
function frequencia_alunos_add_form($form, &$form_state) {
	$form['aluno'] = array(
			'#type' => 'value',
			'#value' => new stdClass(),
	);
	
	// Dados do estudante
	$form['dados_estudante'] = array(
			'#type' => 'fieldset',
			'#title' => t('Dados do Aluno'),
	);
	
	$form['dados_estudante']['cpf'] = array(
			'#type' => 'textfield',
			'#default' => '',
			'#required' => TRUE,
			'#title' => t('CPF'),
	);
	
	$form['dados_estudante']['laboratorio'] = array(
			'#type' => 'select',
			'#required' => TRUE,
			'#title' => 'Laboratório',
			'#options' => package_entities(Laboratorio::TYPE)
	);
	
	$form['dados_estudante']['turno'] = array(
			'#type' 		=> 'select',
			'#title' 		=> t('Turno'),
			'#options' 	=> array(	0 => t("Manhã"), 
														1 => t("Tarde"), 
														2 => t("Noite") ),
			'#default_value' => 0,
			'#required' => TRUE,
	);
	
	$form['submit'] = array(
			'#type' 	=> 'submit',
			'#value' 	=> t('Cadastrar'),
	);
	
	return $form;
}

/**
 *
 */
function frequencia_alunos_add_form_submit($form, &$form_state) {
	global $user;
	$coordenador_id = $user->uid;
	
	$lotacao = $form_state['values']['aluno'];
	
	$aluno = DAO::daoFactory(Aluno::TYPE)->getByCpf($form_state['values']['cpf'] );	
	$lotacao->aluno_id = $aluno->id;
		
	$laboratorio = DAO::daoFactory(Laboratorio::TYPE)->get($form_state['values']['laboratorio']);
	$lotacao->laboratorio_id = $laboratorio->id;
	
	$lotacao->turno = $form_state['values']['turno'];
	
	$vinculo = new stdClass();
	$vinculo->coordenador_id = $coordenador_id;
	$vinculo->aluno_id = $aluno->id;
	
	DAO::daoFactory('frequencia')->addLotacao($lotacao);
	DAO::daoFactory('frequencia')->addVinculo($vinculo);
	
	// cria o calendario que sera usado para o ponto do aluno
	frequencia_gerar_calendario_proximo_mes($aluno->id);
	
	$form_state['redirect'] = 'frequencia/alunos';
}

/**
 * 
 */
function frequencia_alunos_remove($aluno_id) {
	DAO::daoFactory("frequencia")->rmVinculo($aluno_id);
	drupal_goto('frequencia/alunos');
}
